Harald Jörg [Mon, 13 Jan 2025 11:24:40 +0000 (12:24 +0100)]
; cperl-mode.el: Allow bare $ in a signature (Bug#74245)
* lisp/progmodes/cperl-mode.el (cperl--signature-rx): Allow bare
sigils for unused parameters in signatures.
(cperl-find-pods-heres): Avoid $) at the end of a signature being
treated as the punctuation variable $) by treating this dollar as
punctuation
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-signature-rx): Add ($first,$) as a valid signature,
remove ($) from the list of invalid signatures.
Mauro Aranda [Sun, 12 Jan 2025 18:19:40 +0000 (15:19 -0300)]
Emphasize the use of :tag for new customization types
* doc/lispref/customize.texi (Type Keywords): Name important use
cases of the :tag keyword.
(Defining New Types): Emphasize the use of the :tag keyword when
using the lazy widget. (Bug#74409)
Eli Zaretskii [Sat, 11 Jan 2025 10:40:59 +0000 (12:40 +0200)]
; Fix documentation of completion commands
* src/minibuf.c (Fcompleting_read): Move part of doc string of
'read-from-minibuffer' to doc string of this function. Suggested
by Eshel Yaron <me@eshelyaron.com>.
Stefan Kangas [Wed, 8 Jan 2025 03:50:53 +0000 (04:50 +0100)]
Clarify that 'mac' line ending convention is not used on macOS
* doc/emacs/mule.texi (Coding Systems):
* doc/lispref/nonascii.texi (Coding System Basics): Clarify that the
'mac' line ending convention is not used on macOS, and is now rare
outside of legacy software.
Hong Xu [Sat, 4 Jan 2025 20:32:24 +0000 (12:32 -0800)]
Improve the documentation of 'key-valid-p'
* lisp/keymap.el (key-valid-p): Add an function key and mouse
button example. Mention '<left>' as a cursor control key
instead of a function key. Briefly explain what an event may
be. (Bug#75366)
Hong Xu [Thu, 19 Dec 2024 22:33:35 +0000 (14:33 -0800)]
Use `keymap*-set' over `global-set-key'/`define-key' in elisp intro
* doc/lispintro/emacs-lisp-intro.texi (Key Bindings): Since
`global-set-key' and `define-key' are considered legacy, we encourage
`keymap-global-set' and `keymap-set' now. (Bug#74999)
Yuan Fu [Sat, 4 Jan 2025 05:39:32 +0000 (21:39 -0800)]
; Fix typo in treesit-explore-mode
* lisp/treesit.el (treesit-explore-mode): We added the hook to
kill-buffer-hook, so make sure to remove it from
kill-buffer-hook, not post-command-hook.
On the latest update of the grammar expressions were added and won't be
seen as directives anymore.
* lisp/progmodes/heex-ts-mode.el
(heex-ts--sexp-regexp): Match on expression as well.
(heex-ts--indent-rules): Indent on expression end. (Bug#75191)
* test/lisp/progmodes/heex-ts-mode-resources/indent.erts: Add expression
indent test.
john muhl [Thu, 26 Dec 2024 00:03:50 +0000 (18:03 -0600)]
Fix comment indent in 'lua-ts-mode' and old grammar
* lisp/progmodes/lua-ts-mode.el (lua-ts--simple-indent-rules):
Improve multi-line comment indention for pre-0.0.19 grammars that
used a different structure for comment start/end markers.
(Bug#75107)
This patch fixes various problems preventing this script from
working. The job of this script is to collect Emacs' dependanicies and
the (MSYS2/MinGW64) source archives for dependancies (including 2nd
etc. order dependancies) into zip archives. GPL requires distributing such
archives (along with Emacs' own sources) when distributing GPL binaries.
Most principle of the changes is support for MSYS2 "w64" source archives
in zst format; previously this script assumed all sources were available
as tar.gz files. Additionaly several DLLs are added to list of
required, including sqllite3 and tree-sitter.
In general this is a maintaince fix to ensure others have access to the
code used to create pretest (and, presumably release) version of Emacs
30. Additional changes are required to progmatically identify changes
in Emacs' dependancies (e.g. after building a new Emacs binary for
distribution). There is commented out code to this effect in the
changes I've installed which did work, for a brief period in time; I
suspect some changes in MSYS2 made it more difficult (or impossible?) to
invoke the MSYS2 shell (under which this python script must run) from
the MINGW64 (under which Emacs is built). I may resort to a powershell
script as a way to orchistrate/invoke both MSYS2 and MING64 but I'm
currently still messing with a Makefile based approach (which would run
under MINGW64), in any event I believe we're all agreed this script
must interigate Emacs to create the "starting list" of dependancies to
include as a way to resolve this issue (missing/incorrect deps are
frequent source of broken binary releases). (bug#65206)
Corwin Brust [Mon, 23 Dec 2024 05:08:08 +0000 (23:08 -0600)]
* admin/nt/dist-build/emacs.nsi: (Uninstall) delete only one Emacs
Previously, the uninstaller would recursively, unconditionally, remove
the parent folder in which Emacs was installed (the folder selected by
when running the installer), into which the installer places a folder
named for the given release (e.g. emacs-30.1). This was a problem
during uinstalation when the selected folder contained other versions of
Emacs the user did not wish to remove. Additionally, deleting Start Menu
short-cuts did not work (bug#68756).
Some installer language now better reflects that users are not
required to "Accept" the GNU Public License in order to use (etc.)
Emacs (bug#67667).
Users selections related to where to create (or not create) Start Menu
shortcuts are no longer ignored. (bug#75013)
Emacs (as installed by the installer) can now be uninstalled via
Windows' Add/Remove Progrms Control Panel.
The uninstaller will now remove (empty) parent folders, both under
Program Files and (when creation of shortcuts is enabled) under the
select Start Menu location.
Eli Zaretskii [Fri, 20 Dec 2024 20:06:06 +0000 (22:06 +0200)]
Autoload 'shortdoc-help-fns-examples-function'
* lisp/help-fns.el (shortdoc-help-fns-examples-function):
Autoload, to allow adding it to
'help-fns-describe-function-functions' as advertised. (Bug#74995)
Stefan Monnier [Sun, 15 Dec 2024 22:05:55 +0000 (17:05 -0500)]
trusted-content: Adjust the last patch based on preliminary feedback
* lisp/files.el (trusted-content): Rename from `trusted-files`.
Update all references.
* lisp/progmodes/elisp-mode.el (lisp-interaction-mode):
* lisp/ielm.el (inferior-emacs-lisp-mode):
* lisp/simple.el (read--expression): Set `trusted-content` since
these buffers contain code that the user presumably intends to run anyway.
(elisp--safe-macroexpand-all): Make the warning more discreet.
Stefan Monnier [Tue, 10 Dec 2024 21:26:31 +0000 (16:26 -0500)]
elisp-mode.el: Disable Flymake byte-compile backend in untrusted files
To address serious security issues (CVE-2024-53920), disable
`elisp-flymake-byte-compile` except in those files explicitly
specified as "trusted".
For that introduce a new custom var `trusted-files` and new
function `trusted-content-p`.
While at it, similarly skip the implicit macroexpansion done during
completion if the current file is not trusted.
* lisp/files.el (trusted-files): New variable.
(trusted-content-p): New function.
* lisp/progmodes/elisp-mode.el (elisp--safe-macroexpand-all):
New function, extracted from `elisp--local-variables`.
Use `trusted-content-p`.
(elisp--local-variables): Use it.
(elisp-flymake-byte-compile): Disable according to `trusted-content-p`.